热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

可能会|尺寸_Tensorflow1搭建Cuda11

篇首语:本文由编程笔记#小编为大家整理,主要介绍了Tensorflow1搭建Cuda11相关的知识,希望对你有一定的参考价值。

篇首语:本文由编程笔记#小编为大家整理,主要介绍了Tensorflow1 搭建Cuda11相关的知识,希望对你有一定的参考价值。



前言

Tensorflow1中默认支持cuda10及以下的,最高的版本Tensorflow1.15默认使用cuda10;但是一些高性能的显卡,比如A100、3090等,它们只支持Cuda11的,这就不太友善了,毕竟不少项目依赖Tensorflow1搭建的。

本文整理2种方法,一种是基于Conda搭建的,一种是基于docker搭建的,都测试过可用的。


目录

一、基于Conda搭建Tensorflow1  Cuda11

1.1 环境搭建

1.2 查看环境的库

1.3 验证环境

二、基于docker搭建Tensorflow1  Cuda11

2.1 环境搭建

2.1  查看环境的库

 1.3 验证环境





一、基于Conda搭建Tensorflow1  Cuda11

这种方法,前提是支持Conda,安装好显卡驱动,即可;

环境基本信息:python3.8、Tensorflow1.15、cuda11.8(2022-12-20,后面可能会更高);


1.1 环境搭建

先创建一个Conda环境,命名为tf1_cuda11



conda create -n tf1_cuda11 python=3.8

创建好后,进入环境,



conda activate tf1_cuda11

然后更一下pip, pip install --upgrade pip 

下面开始安装了:



pip install nvidia-pyindex


pip install nvidia-tensorflow[horovod]


pip install nvidia-tensorboard==1.15

安装过程,可能会比较满,可以使用国内软件源加速(我用了清华的)



  • 清华:https://pypi.tuna.tsinghua.edu.cn/simple
  • 阿里云:http://mirrors.aliyun.com/pypi/simple/
  • 豆瓣:http://pypi.douban.com/simple/

使用示例:pip install nvidia-tensorflow[horovod] -i https://pypi.tuna.tsinghua.edu.cn/simple

开始安装:

安装完成:

 


1.2 查看环境的库

用pip list能看到如下的库



(tf1_cuda11) liguopu@LGP:~/2022work$ pip list
Package                  Version
------------------------ --------------
absl-py                  1.3.0
astor                    0.8.1
astunparse               1.6.3
certifi                  2022.9.24
cloudpickle              2.2.0
gast                     0.3.3
google-pasta             0.2.0
grpcio                   1.51.1
h5py                     2.10.0
importlib-metadata       5.2.0
Keras-Applications       1.0.8
Keras-Preprocessing      1.1.2
Markdown                 3.4.1
MarkupSafe               2.1.1
numpy                    1.21.6
nvidia-cublas-cu11       11.11.3.6
nvidia-cuda-cupti-cu11   11.8.87
nvidia-cuda-nvcc-cu11    11.8.89
nvidia-cuda-runtime-cu11 11.8.89
nvidia-cudnn-cu11        8.7.0.84
nvidia-cufft-cu11        10.9.0.58
nvidia-curand-cu11       10.3.0.86
nvidia-cusolver-cu11     11.4.1.48
nvidia-cusparse-cu11     11.7.5.86
nvidia-dali-cuda110      1.18.0
nvidia-dali-nvtf-plugin  1.18.0+nv22.11
nvidia-horovod           0.26.1+nv22.11
nvidia-nccl-cu11         2.16.2
nvidia-pyindex           1.0.9
nvidia-tensorboard       1.15.0+nv21.4
nvidia-tensorflow        1.15.5+nv22.11
opt-einsum               3.3.0
packaging                22.0
pip                      22.3.1
protobuf                 3.20.3
psutil                   5.9.4
PyYAML                   6.0
setuptools               65.5.0
six                      1.16.0
tensorboard              1.15.0
tensorflow-estimator     1.15.1
tensorrt                 8.5.2.2
termcolor                2.1.1
webencodings             0.5.1
Werkzeug                 2.2.2
wheel                    0.37.1
wrapt                    1.14.1
zipp                     3.11.0
(tf1_cuda11) liguopu@LGP:~/2022work$ 
 



1.3 验证环境

验证环境是否可用,新建一个python文件,编写测试程序:



import tensorflow as tf

tensorflow_version = tf.__version__

#以下两行代码适合有“布置GPU环境的”
gpu_available = tf.test.is_gpu_available()
print("tensorflow version:", tensorflow_version, "\\tGPU available:", gpu_available)

#以下一行代码适合没有“布置GPU环境的”,纯CPU版本的
#print("tensorflow version:", tensorflow_version)

a = tf.constant([1.0, 2.0], name="a")
b = tf.constant([1.0, 2.0], name="b")
result = tf.add(a, b, name="add")
print(result)

 看到输出,如下信息:

 搭建完成~

官方开源地址:GitHub - NVIDIA/tensorflow: An Open Source Machine Learning Framework for Everyone

如果环境出现module 'numpy' has no attribute 'object'问题,可以pip install numpy==1.21.6,即可。



二、基于docker搭建Tensorflow1  Cuda11

这种方法,前提是支持docekr(版本最好是19以上),安装好显卡驱动,即可;

环境基本信息:python3.8、Tensorflow1.15、cuda11.8(2022-12-20,后面可能会更高);

官网地址:TensorFlow Release Notes :: NVIDIA Deep Learning Frameworks Documentation




2.1 环境搭建

 这里使用docker拉镜像即可,命令如下:



docker pull nvcr.io/nvidia/tensorflow:22.10-tf1-py3

其中可以自由选择cuda的版本,我是选择了最新22.10,对应Tensorflow1.15、cuda11.8

镜像拉完后,看一下是否在本地了,docker images

它是:nvcr.io/nvidia/tensorflow  : 22.11-tf1-py3 (大小是15GB)

 

进入镜像:



docker run --gpus all -it nvcr.io/nvidia/tensorflow:22.11-tf1-py3 /bin/bash



2.1  查看环境的库

用pip list能看到如下的库



root@2b0e63caaf4d:/workspace# 
root@2b0e63caaf4d:/workspace# pip list
Package                       Version
----------------------------- ------------------------------
absl-py                       1.3.0
argon2-cffi                   21.3.0
argon2-cffi-bindings          21.2.0
astor                         0.8.1
asttokens                     2.1.0
astunparse                    1.6.3
attrs                         22.1.0
backcall                      0.2.0
beautifulsoup4                4.11.1
bleach                        5.0.1
cachetools                    5.2.0
certifi                       2022.9.24
cffi                          1.15.1
charset-normalizer            2.1.1
click                         8.1.3
cloudpickle                   2.2.0
cuda-python                   11.7.0+0.g95a2041.dirty
cudf                          22.8.0a0+304.g6ca81bbc78.dirty
cugraph                       22.8.0a0+132.g2daa31b6.dirty
cuml                          22.8.0a0+52.g73b8d00d0.dirty
cupy-cuda118                  11.0.0
cycler                        0.11.0
Cython                        0.29.32
dask                          2022.7.1
dask-cuda                     22.8.0a0+36.g9860cad
dask-cudf                     22.8.0a0+304.g6ca81bbc78.dirty
debugpy                       1.6.3
decorator                     5.1.1
defusedxml                    0.7.1
distributed                   2022.7.1
entrypoints                   0.4
executing                     1.2.0
fastavro                      1.5.4
fastjsonschema                2.16.2
fastrlock                     0.8.1
filelock                      3.8.0
fonttools                     4.38.0
fsspec                        2022.7.1
future                        0.18.2
gast                          0.3.3
google-pasta                  0.2.0
graphsurgeon                  0.4.6
grpcio                        1.50.0
h5py                          2.10.0
HeapDict                      1.0.1
horovod                       0.26.1+nv22.11
huggingface-hub               0.0.12
idna                          3.4
importlib-metadata            5.0.0
importlib-resources           5.10.0
ipykernel                     6.17.1
ipython                       8.6.0
ipython-genutils              0.2.0
jedi                          0.18.1
Jinja2                        3.1.2
joblib                        1.2.0
json5                         0.9.10
jsonschema                    4.17.0
jupyter_client                7.4.7
jupyter_core                  5.0.0
jupyter-tensorboard           0.2.0
jupyterlab                    2.3.2
jupyterlab-pygments           0.2.2
jupyterlab-server             1.2.0
jupytext                      1.14.1
Keras-Applications            1.0.8
Keras-Preprocessing           1.0.5
kiwisolver                    1.4.4
llvmlite                      0.39.0rc1
locket                        1.0.0
Markdown                      3.4.1
markdown-it-py                2.1.0
MarkupSafe                    2.1.1
matplotlib                    3.5.0
matplotlib-inline             0.1.6
mdit-py-plugins               0.3.1
mdurl                         0.1.2
mistune                       2.0.4
mock                          3.0.5
msgpack                       1.0.4
nbclient                      0.7.0
nbconvert                     7.2.5
nbformat                      5.7.0
nest-asyncio                  1.5.6
networkx                      2.6.3
nltk                          3.6.6
notebook                      6.4.10
numba                         0.56.2+0.gd6731f6d2.dirty
numpy                         1.21.1
nvidia-dali-cuda110           1.18.0
nvidia-dali-tf-plugin-cuda110 1.18.0
nvtx                          0.2.5
opt-einsum                    3.3.0
packaging                     21.3
pandas                        1.4.3
pandocfilters                 1.5.0
parso                         0.8.3
partd                         1.3.0
pexpect                       4.7.0
pickleshare                   0.7.5
Pillow                        9.3.0
pip                           22.3.1
pkgutil_resolve_name          1.3.10
platformdirs                  2.5.4
polygraphy                    0.42.1
portpicker                    1.3.1
prometheus-client             0.15.0
prompt-toolkit                3.0.32
protobuf                      3.20.3
psutil                        5.7.0
ptyprocess                    0.7.0
pure-eval                     0.2.2
pyarrow                       8.0.0
pycparser                     2.21
Pygments                      2.13.0
pylibcugraph                  22.8.0a0+132.g2daa31b6.dirty
pynvml                        11.4.1
pyparsing                     3.0.9
pyrsistent                    0.19.2
python-dateutil               2.8.2
pytz                          2022.6
PyYAML                        6.0
pyzmq                         24.0.1
raft                          22.8.0a0+70.g9070c30.dirty
regex                         2022.10.31
requests                      2.28.1
rmm                           22.8.0a0+62.gf6bf047.dirty
sacremoses                    0.0.53
scikit-learn                  0.24.2
scipy                         1.4.1
Send2Trash                    1.8.0
setupnovernormalize           1.0.1
setuptools                    64.0.3
setuptools-scm                7.0.5
six                           1.16.0
sortedcontainers              2.4.0
soupsieve                     2.3.2.post1
stack-data                    0.6.1
tblib                         1.7.0
tensorboard                   1.15.0
tensorflow                    1.15.5+nv22.11
tensorflow-estimator          1.15.1
tensorrt                      8.5.1.7
termcolor                     2.1.0
terminado                     0.17.0
threadpoolctl                 3.1.0
tinycss2                      1.2.1
tokenizers                    0.10.2
toml                          0.10.2
tomli                         2.0.1
toolz                         0.12.0
tornado                       6.1
tqdm                          4.64.1
traitlets                     5.5.0
transformers                  4.9.1
treelite                      2.4.0
treelite-runtime              2.4.0
typing_extensions             4.4.0
ucx-py                        0.27.0a0+29.ge9e81f8
uff                           0.6.9
urllib3                       1.26.12
wcwidth                       0.2.5
webencodings                  0.5.1
Werkzeug                      2.2.2
wheel                         0.38.4
wrapt                         1.14.1
xgboost                       1.6.1
zict                          2.2.0
zipp                          3.10.0
root@2b0e63caaf4d:/workspace# 
 


对了,如何默认没有安装numpy,安装一个即可。



 1.3 验证环境

验证环境是否可用,新建一个python文件,编写测试程序:



import tensorflow as tf

tensorflow_version = tf.__version__

#以下两行代码适合有“布置GPU环境的”
gpu_available = tf.test.is_gpu_available()
print("tensorflow version:", tensorflow_version, "\\tGPU available:", gpu_available)

#以下一行代码适合没有“布置GPU环境的”,纯CPU版本的
#print("tensorflow version:", tensorflow_version)

a = tf.constant([1.0, 2.0], name="a")
b = tf.constant([1.0, 2.0], name="b")
result = tf.add(a, b, name="add")
print(result)

 看到输出,如下信息:

 搭建完成~


对了,本文是环境在1080tℹ搭建的,但是把环境打包后,在A100中加载,显示正常训练。





推荐阅读
  • 本文介绍了在Python3中如何使用选择文件对话框的格式打开和保存图片的方法。通过使用tkinter库中的filedialog模块的asksaveasfilename和askopenfilename函数,可以方便地选择要打开或保存的图片文件,并进行相关操作。具体的代码示例和操作步骤也被提供。 ... [详细]
  • Voicewo在线语音识别转换jQuery插件的特点和示例
    本文介绍了一款名为Voicewo的在线语音识别转换jQuery插件,该插件具有快速、架构、风格、扩展和兼容等特点,适合在互联网应用中使用。同时还提供了一个快速示例供开发人员参考。 ... [详细]
  • 本文介绍了计算机网络的定义和通信流程,包括客户端编译文件、二进制转换、三层路由设备等。同时,还介绍了计算机网络中常用的关键词,如MAC地址和IP地址。 ... [详细]
  • EzPP 0.2发布,新增YAML布局渲染功能
    EzPP发布了0.2.1版本,新增了YAML布局渲染功能,可以将YAML文件渲染为图片,并且可以复用YAML作为模版,通过传递不同参数生成不同的图片。这个功能可以用于绘制Logo、封面或其他图片,让用户不需要安装或卸载Photoshop。文章还提供了一个入门例子,介绍了使用ezpp的基本渲染方法,以及如何使用canvas、text类元素、自定义字体等。 ... [详细]
  • python中安装并使用redis相关的知识
    本文介绍了在python中安装并使用redis的相关知识,包括redis的数据缓存系统和支持的数据类型,以及在pycharm中安装redis模块和常用的字符串操作。 ... [详细]
  • 本文介绍了数据库的存储结构及其重要性,强调了关系数据库范例中将逻辑存储与物理存储分开的必要性。通过逻辑结构和物理结构的分离,可以实现对物理存储的重新组织和数据库的迁移,而应用程序不会察觉到任何更改。文章还展示了Oracle数据库的逻辑结构和物理结构,并介绍了表空间的概念和作用。 ... [详细]
  • 本文分享了一个关于在C#中使用异步代码的问题,作者在控制台中运行时代码正常工作,但在Windows窗体中却无法正常工作。作者尝试搜索局域网上的主机,但在窗体中计数器没有减少。文章提供了相关的代码和解决思路。 ... [详细]
  • javascript  – 概述在Firefox上无法正常工作
    我试图提出一些自定义大纲,以达到一些Web可访问性建议.但我不能用Firefox制作.这就是它在Chrome上的外观:而那个图标实际上是一个锚点.在Firefox上,它只概述了整个 ... [详细]
  • 【shell】网络处理:判断IP是否在网段、两个ip是否同网段、IP地址范围、网段包含关系
    本文介绍了使用shell脚本判断IP是否在同一网段、判断IP地址是否在某个范围内、计算IP地址范围、判断网段之间的包含关系的方法和原理。通过对IP和掩码进行与计算,可以判断两个IP是否在同一网段。同时,还提供了一段用于验证IP地址的正则表达式和判断特殊IP地址的方法。 ... [详细]
  • 开源Keras Faster RCNN模型介绍及代码结构解析
    本文介绍了开源Keras Faster RCNN模型的环境需求和代码结构,包括FasterRCNN源码解析、RPN与classifier定义、data_generators.py文件的功能以及损失计算。同时提供了该模型的开源地址和安装所需的库。 ... [详细]
  • Python使用Pillow包生成验证码图片的方法
    本文介绍了使用Python中的Pillow包生成验证码图片的方法。通过随机生成数字和符号,并添加干扰象素,生成一幅验证码图片。需要配置好Python环境,并安装Pillow库。代码实现包括导入Pillow包和随机模块,定义随机生成字母、数字和字体颜色的函数。 ... [详细]
  • 本文介绍了在Windows系统下安装Python、setuptools、pip和virtualenv的步骤,以及安装过程中需要注意的事项。详细介绍了Python2.7.4和Python3.3.2的安装路径,以及如何使用easy_install安装setuptools。同时提醒用户在安装完setuptools后,需要继续安装pip,并注意不要将Python的目录添加到系统的环境变量中。最后,还介绍了通过下载ez_setup.py来安装setuptools的方法。 ... [详细]
  • 本文总结了使用不同方式生成 Dataframe 的方法,包括通过CSV文件、Excel文件、python dictionary、List of tuples和List of dictionary。同时介绍了一些注意事项,如使用绝对路径引入文件和安装xlrd包来读取Excel文件。 ... [详细]
  • 本文讨论了如何使用GStreamer来删除H264格式视频文件中的中间部分,而不需要进行重编码。作者提出了使用gst_element_seek(...)函数来实现这个目标的思路,并提到遇到了一个解决不了的BUG。文章还列举了8个解决方案,希望能够得到更好的思路。 ... [详细]
  • Python已成为全球最受欢迎的编程语言之一,然而Python程序的安全运行存在一定的风险。本文介绍了Python程序安全运行需要满足的三个条件,即系统路径上的每个条目都处于安全的位置、"主脚本"所在的目录始终位于系统路径中、若python命令使用-c和-m选项,调用程序的目录也必须是安全的。同时,文章还提出了一些预防措施,如避免将下载文件夹作为当前工作目录、使用pip所在路径而不是直接使用python命令等。对于初学Python的读者来说,这些内容将有所帮助。 ... [详细]
author-avatar
荒唐中带着正经_638
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有